
function [xg] = getIC(resultTemp , aux)
%
% 输入：
% dro反向积分到近月点的轨道
%
% 输出：
% leo -> lga -> dro的多步打靶初值
%
% 作者：张晨
% 邮箱：chenzhang@csu.ac.cn
% 单位：中国科学院空间应用工程与技术中心，空间探索室
% 时间：2021年08月25日
%%%%%%%%%%%%%%%%%%%%%%%%

% 提取参数
tau1 = resultTemp(1);
xx1 = resultTemp(2:5);
tauf = resultTemp(6);
xxf = resultTemp(7:10);
sigma = resultTemp(11);

% ---------------------------------------- 构造打靶初值 ----------------------------------------
% 积分
options = odeset('RelTol' , aux.tol , 'AbsTol' , aux.tol);
[seg_tt , seg_xx] = ode113(@Bcr4bp_EqmEMRot2D , [tauf , tau1] , xxf' , options , aux);
seg_tt = flipud(seg_tt);
seg_xx = flipud(seg_xx);

% 离散点状态
tt_interp = linspace(seg_tt(1) , seg_tt(end) , aux.nNode)';
xx_interp = interp1(seg_tt , seg_xx , tt_interp , 'spline');
xx_interp_temp = xx_interp;

% LEO -> LLO
temp = xx_interp_temp';
xg = [temp(:); % 状态
    tau1; % 任务开始时间
    tauf; % 任务结束时间
    sigma]; % DRO相位因子

% ---------------------------------------- 画EMRot轨道 ----------------------------------------
figure1;
Bcr4bp_ScnEMRot(tauf , aux);

% 画转移轨道
plot(seg_xx(: , 1) , seg_xx(: , 2) , 'b' , 'LineWidth' , 2);

% 画DRO
plot(aux.periOrb_xx(: , 1) , aux.periOrb_xx(: , 2) , 'k' , 'LineWidth' , 2);

% ---------------------------------------- 画SB1Rot轨道 ----------------------------------------
figure2;
[tau_SB1Rot , xb2c_SB1Rot] = Bcr4bp_EMRot2SB1RotMtx2D(seg_tt , seg_xx , aux);
Bcr4bp_ScnSB1Rot(tau_SB1Rot(end) , aux);

% 画转移轨道
plot(xb2c_SB1Rot(: , 1) , xb2c_SB1Rot(: , 2) , 'b' , 'LineWidth' , 2);

end
